/**
 * 搭建Web服务器:展示静态资源 
 */

let http = require("http");
let fs = require("fs");

let server = http.createServer();

server.listen(8080);

server.on('request', function (req, res) {
    let url = req.url;
    //静态资源与动态资源判断
    //在web服务器，要尽量使用异步函数
    //web服务器给谁用的，给用户，给管理员用
    //node自身的问题，node 是单线程的.
    //404 页面
    if (url.lastIndexOf('.') > -1) {
        console.log(url);
        let path = '.' + url;
        readFileByPromise(path,res);
    } else {
        res.end();
    }
});


let promise= function(filename){

    return new Promise(function(resolve,reject){

        fs.exists(filename,function(result){
            if(!result){
                filename='./home/imgs/404.png';
            }
            fs.readFile(filename,function(err,data){
                resolve(data);
            })
        })
    })
}

async function  readFileByPromise(fileName,res) {
    let data = await promise(fileName);
    res.write(data);
    res.end();
}

